package com.shensi.adminCollect.service.markert;

import com.shensi.adminCollect.domain.markert.MarketCoupon;
import com.shensi.adminCollect.domain.markert.vo.CouponUserDto;
import com.shensi.adminCollect.domain.markert.vo.CouponUserVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * 优惠劵管理Service接口
 * 
 * @author qujia
 * @date 2020-12-22
 */
public interface IMarketCouponService 
{
    /**
     * 查询优惠劵管理
     * 
     * @param couponId 优惠劵管理ID
     * @return 优惠劵管理
     */
    public MarketCoupon selectMarketCouponById(Long couponId);

    /**
     * 查询优惠劵管理列表
     * 
     * @param marketCoupon 优惠劵管理
     * @return 优惠劵管理集合
     */
    public List<MarketCoupon> selectMarketCouponList(MarketCoupon marketCoupon);

    /**
     * 新增优惠劵管理
     * 
     * @param marketCoupon 优惠劵管理
     * @return 结果
     */
    public int insertMarketCoupon(MarketCoupon marketCoupon);

    /**
     * 修改优惠劵管理
     * 
     * @param marketCoupon 优惠劵管理
     * @return 结果
     */
    public int updateMarketCoupon(MarketCoupon marketCoupon);

    /**
     * 批量删除优惠劵管理
     * 
     * @param couponIds 需要删除的优惠劵管理ID
     * @return 结果
     */
    public int deleteMarketCouponByIds(Long[] couponIds);

    /**
     * 删除优惠劵管理信息
     * 
     * @param couponId 优惠劵管理ID
     * @return 结果
     */
    public int deleteMarketCouponById(Long couponId);


    public List<CouponUserVo> getCouponList(String mobilePhone, String oilId, String stationId, BigDecimal amt, BigDecimal reductionAmount, Integer activityId);

    CouponUserDto getMaxCouponUserIdAndAmt(List<CouponUserVo> couponList, BigDecimal amt);
}
